import { Notify, Dialog } from "vant";
import { rebuildSession } from "@/api/isc.js";

export function handleData(dataAxios, url) {
  // 这个状态码是和后端约定的
  const { code, msg } = dataAxios;
  if (code === 8001 || (msg && msg.indexOf("令牌无效") !== -1)) {
    sessionStorage.setItem("statusCode", "401");
    if (url && url.indexOf("/session/rebuild") != -1) {
      Dialog.confirm({
        title: "账号登录异常",
        showCancelButton: false,
      }).then(() => {
        wx.closeWindow();
      });
    } else {
      rebuildSession();
    }
    return;
  }
  if (code) {
    sessionStorage.setItem("statusCode", code);
  }
  // 根据 code 进行判断
  if (code === undefined || code === 1000) {
    // 如果没有 code 代表这不是项目后端开发的接口
    return dataAxios;
  } else {
    Notify({ type: "warning", message: msg });
    return dataAxios;
    // 有 code 代表这是一个后端接口
    switch (code) {
      case 0:
        // [ 示例 ] code === 0 代表没有错误
        return dataAxios.data;
      default:
        break;
    }
  }
}
